what language!
자연어 처리는 검색과 인공지능 혹은 siri나 alexa 같은 응답형 비서 서비스에는 필수적입니다. javascript기반으로 만들어진 자연어 처리 모듈이 오늘의 깃헙 순위에 올라와 소개합니다.
2016/05/15 Today’s Best
nlp-compromise/nlp_compromise
_nlp_compromise - a cool way to use natural language in javascript_github.com
설치하기
$npm install nlp\_compromise
실행하기
일단 복수형 테스트 해 볼까요?
$ node
\> let nlp = require("nlp\_compromise");
NLP {
plugin: \[Function\],
lexicon: \[Function\],
term: \[Function\],
noun: \[Function\],
verb: \[Function\],
adjective: \[Function\],
adverb: \[Function\],
value: \[Function\],
person: \[Function\],
place: \[Function\],
date: \[Function\],
organization: \[Function\],
text: \[Function\],
sentence: \[Function\],
statement: \[Function\],
question: \[Function\] }
\> nlp.noun("mouse").pluralize();
'mice'
\> nlp.noun("aircraft").pluralize();
'aircraft'
\> nlp.noun("millnnium").pluralize();
'millnnia'
\> nlp.noun("소녀시대").pluralize();
's'
\> nlp.noun("super man").pluralize();
'super men'
\>
한글은 안되는군요. (뭐 예상했지만)
mice, aircraft, millenium 같은 복수형이 독특한 단어를 넣어 봤는데, 잘 통과를 합니다.
재미있는 것은 millnnium 으로 단어는 오타가 났는데도 millnnia 로 변형되어 오더라는 것입니다.
plurize 소스를 살펴보면
이렇게 많은 케이스의 단어에 대해 정규식으로 변형 형태를 지정해 놓았네요. 이런 식이라면 한글화는 요원해 보이는군요.
‘소녀시대’는 s로만 변형된다든지 말이죠.
compromise라는 접미가 붙은 이유를 알겠네요.
뭐 어쨌든 영어권에서는 잘 사용될 수 있는 모듈인거 같습니다.
By Keen Dev on May 14, 2016.
Exported from Medium on May 31, 2017.